跟我学Spring Cloud(Finchley版)-22-Spring Cloud Config-配置动态刷新
先解释下为什么突然断更半个月:
正月初三 - 正月十二:父亲肺气肿住院;母亲肺炎,也要挂水,故请假照顾。
正月十四 - 正月二十:奶奶摔了一跤,突然离世…老家有守夜、办丧的习俗,请假事丧。
总之,2019开局很不顺利……Anyway,今天开工,今天恢复更新。
配置刷新三要素
1 依赖中有 spring-boot-starter-actuator
2 添加如下配置,暴露 /actuator/refresh
端点:
management:
endpoints:
web:
exposure:
include: refresh
3 待刷新的配置属性所在的类上添加了 @RefreshScope
注解 ,例如:
@RestController
@RefreshScope
public class ConfigClientController {
@Value("${profile}")
private String profile;
@GetMapping("/profile")
public String hello() {
return this.profile;
}
}
这样,修改 profile
配置后,只需向应用的 /actuator/refresh
端点发送POST请求,即可刷新该属性。例如:
curl -X POST http://localhost:8081/actuator/refresh
自动刷新、批量刷新-Spring Cloud Bus
参考文档:Config Server——使用Spring Cloud Bus自动刷新配置
引入Cloud Bus后,就会多一个 /actuator/bus-refresh
端点,请求即可刷新。
相关热文
干货分享
最近将个人学习笔记整理成册,使用PDF分享。关注我,回复如下代码,即可获得百度盘地址,无套路领取!
001:《Java并发与高并发解决方案》学习笔记;
002:《深入JVM内核——原理、诊断与优化》学习笔记;
003:《Java面试宝典》